package com.witmore.neutron.ai.mcp.server.trading.dto;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 分页查询股票预警配置请求DTO
 * 用于分页查询用户的股票异动预警配置
 *
 * @author 豆子高
 * @since 2025-01-27
 */
@Data
public class QueryStockAlertConfigRequest {

    /**
     * 用户ID（必填）
     */
    private Long userId;

    /**
     * 股票代码（模糊查询）
     */
    private String stockCode;

    /**
     * 股票名称（模糊查询）
     */
    private String stockName;

    /**
     * 是否启用预警（0：禁用，1：启用）
     */
    private Integer alertEnabled;

    /**
     * 推送类型
     */
    private Integer pushType;

    /**
     * 最小上涨比例
     */
    private BigDecimal minRiseRatio;

    /**
     * 最大上涨比例
     */
    private BigDecimal maxRiseRatio;

    /**
     * 最小下跌比例
     */
    private BigDecimal minFallRatio;

    /**
     * 最大下跌比例
     */
    private BigDecimal maxFallRatio;

    /**
     * 创建时间开始
     */
    private LocalDateTime createTimeStart;

    /**
     * 创建时间结束
     */
    private LocalDateTime createTimeEnd;

    /**
     * 当前页码（默认1）
     */
    private long page = 1;

    /**
     * 每页大小（默认10，最大100）
     */
    private long size = 10;

    /**
     * 排序字段（默认按更新时间）
     */
    private String orderBy = "update_time";

    /**
     * 排序方向（asc/desc，默认desc）
     */
    private String orderDirection = "desc";
}
